#ifndef GRAPH_TYPES_H
#define GRAPH_TYPES_H

#include <boost/pending/property.hpp>

namespace boost {

	//define new property for vertex -> vertex frequency
	enum vertex_id_t { vertex_id = 124 };
	BOOST_INSTALL_PROPERTY(vertex,id);

	//define new property for vertex -> vertex frequency
	enum vertex_frequency_t { vertex_frequency = 1234 };
	BOOST_INSTALL_PROPERTY(vertex,frequency);

	//edge section property property
	enum edge_section_type_t { edge_section_type = 12345 };
	BOOST_INSTALL_PROPERTY(edge,section_type);

	//edge connecting word property
	enum edge_connecting_word_t { edge_connecting_word = 123456 };
	BOOST_INSTALL_PROPERTY(edge,connecting_word);

	//edge graph id property
	enum graph_id_t { graph_id = 12222 };
	BOOST_INSTALL_PROPERTY(graph,id);
}

	  //vertex id property
		typedef boost::property<boost::vertex_id_t, long> vertex_id_prop_t;
		//vertex frequency property
		typedef boost::property<boost::vertex_frequency_t, long> vertex_frequency_prop_t;

		//edge section type property
		typedef boost::property<boost::edge_section_type_t,int> edge_section_type_prop_t;
		
		//graph source property
		typedef boost::property<boost::graph_name_t, std::string > graph_source_prop_t;
		//graph id property
		typedef boost::property<boost::graph_id_t, long > graph_id_property_prop_t;


#endif